import {LinkedList} from "./linkedList.js";

// ------------------- 封装的单项链表结构测试 ----------------//
alert("单项链表结构测试 START ");
const linkedList = new LinkedList();

// 测试 append 方法
alert("测试 append 方法");
linkedList.append("aa");
alert("append('aa')");
alert(linkedList);
linkedList.append("bb");
alert("append('bb')");
alert(linkedList);
linkedList.append("cc");
alert("append('cc')");
alert(linkedList);

// 测试 toString 方法
alert("测试 toString 方法");
alert(linkedList.toString());

// 测试 insert 方法
alert("测试 insert 方法");
linkedList.insert(0,"123");
alert("insert(0,'123')");
alert(linkedList.toString());
linkedList.insert(2,"456");
alert("insert(2,'456')");
alert(linkedList.toString());

// 测试 getData 方法
alert("测试 getData 方法");
alert("getData(0)");
alert(linkedList.getData(0));
alert("getData(1)");
alert(linkedList.getData(1));

// 测试 indexOf 方法
alert("测试 indexOf 方法");
alert("indexOf('aa')");
alert(linkedList.indexOf("aa"));
alert("indexOf('bb')");
alert(linkedList.indexOf("abc"));

// 测试update 方法
alert("测试 update 方法");
linkedList.update(0,"12345");
alert("update(0,''12345')");
alert(linkedList.toString());
linkedList.update(1,"54321");
alert("update(1,''54321')");
alert(linkedList.toString());

// 测试 removeAt 方法
alert("测试 removeAt(3) 方法");
linkedList.removeAt(3);
alert(linkedList.toString());

// 测试 remove  方法
alert("测试 remove(cc) 方法");
linkedList.remove("cc");
alert(linkedList.toString());

// 测试 isEmpty 方法
alert("测试 isEmpty 方法");
alert(linkedList.isEmpty());

// 测试 size 方法
alert("测试 size 方法");
alert(linkedList.size());

alert("单向链表结构测试 END ");
